package com.xteam.ecsystem.service.front;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.xteam.ecsystem.dao.IFrontCartDao;
import com.xteam.ecsystem.utils.PageCenterStation;

@Service
public class FrontCartService {
	
	@Autowired
	private IFrontCartDao ifc;

	/**
	 * 
	 * 根据用户ID，会话ID获取分页购物车列表
	 * @author ls
	 * @param userId
	 * @param sessionId
	 * @param pageIndex
	 * @param pageSize
	 * @return
	 */
	public PageCenterStation<?> getUserCartList(String userId,
			 int pageIndex, int pageSize) {
		return ifc.getUserCartList(userId, pageIndex, pageSize);
	}

	
	/**
	 * 
	 * 加入购物车
	 * @author ls
	 * @param id
	 * @param attr
	 * @param num
	 * @param userId
	 * @param userRole
	 */
	public void addToCart(String id, String attr, int num, String userId, int userRole) {
		ifc.addToCart(id, attr, num, userId, userRole);
	}

	/**
	 * 
	 * 获取总价
	 * @author ls
	 * @param id
	 * @param attr
	 * @param num
	 * @return
	 */
	public String getTotalPrice(String id, String attr, int num) {
		return ifc.getTotalPrice(id, attr, num);
	}


	/**
	 * 
	 * 移除购物车
	 * @author ls
	 * @param bciId
	 * @param userId
	 */
	public void dropFromCart(String bciId, String userId) {
		ifc.dropFromCart(bciId, userId);
	}


	/**
	 * 
	 * 清空购物车
	 * @author ls
	 * @param userId
	 */
	public void clearCartByUserId(String userId) {
		ifc.clearCartByUserId(userId);
	}


	/**
	 * 
	 * 更新购物车
	 * @author ls
	 * @param bciId
	 * @param num
	 * @param userId
	 * @return
	 */
	public String updateCartGoods(String bciId, int num, String userId) {
		return ifc.updateCartGoods(bciId, num , userId);
	}

	/**
	 * 
	 * 根据用户ID获取购物车所有商品总价
	 * @author ls
	 * @param userId
	 * @return
	 */
	public double getCartTotal(String userId) {
		return ifc.getCartTotal(userId);
	}
	
	/**
	 * 
	 * 根据用户ID获得购物车中所有该用户的商品
	 * @author ls
	 * @param userId
	 * @return
	 */
	public List<?> getAllGoodsByUser(String userId) {
		return ifc.getAllGoodsByUser(userId);
	}

	/**
	 * 
	 * 获取购物车商品数量
	 * @author ls
	 * @param userId
	 * @return
	 */
	public int countCartGoods(String userId) {
		return ifc.countCartGoods(userId);
	}
}
